The background description includes information that may be useful in understanding the present invention. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed invention, or that any publication specifically or implicitly referenced is prior art.
All publications herein are incorporated by reference to the same extent as if each individual publication or patent application were specifically and individually indicated to be incorporated by reference. Where a definition or use of a term in an incorporated reference is inconsistent or contrary to the definition of that term provided herein, the definition of that term provided herein applies and the definition of that term in the reference does not apply.
Computer systems utilize storage to store and retrieve the data. The main objective of storing and retrieving data into storage is for the computer system to access the data, or to allow other computer systems to access the same data.
Due to the exponential growth in digital storage, today's computer systems use large storage with capacities as large as several terabytes (TB) or 1e+12 Bytes. Even as capacity grows, the need for such capacity frequently outpaces the size of the storage systems. This constant growth requires both consumer and enterprise users to compress and store the required data into storage systems. Many known compression algorithms exist to reduce the redundancy of original data. Compression allows computer system to save space, power, and cost.
In order for a computer system to search for a given pattern within compressed storage, the computer system must first copy some of the compressed data into a volatile memory device, such as Dynamic Random Access Memory (DRAM) units. The computer system then needs to decompress the compressed data within the DRAM to rebuild the original data. Lastly, the computer system looks for the given pattern within the decompressed data. The computer system needs to repeat this process iteratively until all of the compressed data has been searched.
The time it takes to search for a given pattern can be sizeable. Thus, there remains a need for a system and method that improves the search time of compressed data.